crc32c 0.4.0

Wrapper for SSE 4.2 CRC32C instructions, with software fallback
Documentation

CRC32C

Crates.io Docs.rs Travis

Rust implementation of the CRC-32-Castagnoli algorithm. If you have SSE 4.2 enabled at compile time, it will only build the SSE implementation. Otherwise, it will build both versions, and use cpuid to choose the best implementation at run time.

The code is inspired by Mark Adler's CRC32C implementation.

Usage

First, add this to your Cargo.toml:

[dependencies]
crc32c = "0.4"
extern crate crc32c;

fn main() {
    let message = b"Hello world!";
    let crc = crc32c::crc32c(message);

    println!("hash = {}", crc);
}

License

You may use this code under either the Apache 2.0 license or the MIT license, at your option.